package org.base23.video.service;

import org.base23.video.domain.dto.FrameAnalysisApiResponse;
import org.base23.video.domain.dto.VideoAnalysisApiResponse;
import org.base23.video.domain.dto.VideoAnalysisResult;
import org.springframework.web.multipart.MultipartFile;

/**
 * 外部视频分析API服务接口
 */
public interface VideoAnalysisApiService {
    
    /**
     * 上传视频进行分析
     * @param videoFile 视频文件
     * @return 分析任务响应
     */
    VideoAnalysisApiResponse analyzeVideo(MultipartFile videoFile);
    
    /**
     * 分析单帧图像
     * @param imageFile 图像文件
     * @return 单帧分析结果
     */
    FrameAnalysisApiResponse analyzeFrame(MultipartFile imageFile);
    
    /**
     * 根据结果ID获取完整分析结果
     * @param resultId 结果ID
     * @return 完整的视频分析结果
     */
    VideoAnalysisResult.VideoAnalysisData getAnalysisResult(String resultId);
    
    /**
     * 检查外部API服务状态
     * @return 服务是否可用
     */
    boolean isServiceAvailable();
} 